package com.iweb.factory;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.Reader;

/**
 * @author: jack
 * @date: 2022-08-10 0010
 * @ApiNOTE:
 */
public class SqlSessionFactoryUtil {

  /**
   * Connection : 数据库会话
   * SqlSession : SQL会话, 建立 mybatis 和 数据库的会话, 执行 SQL 语句
   *
   * @return
   */
  public SqlSession getSession() {
    try {
      // 读取配置文件： 解析获取 数据库连接参数
      Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");
      // 工厂
      SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);

      SqlSession sqlSession = sessionFactory.openSession();
      return sqlSession;
    } catch (IOException e) {
      e.printStackTrace();
    }
    return null;
  }

}
